import request from '@/utils/request'

// 登录方法
export function login(username, password, code, uuid) {
    const data = {
        username,
        password,
        code,
        uuid
    }
    return request({
        url: '/auth/login',
        headers: {
            isToken: false,
            repeatSubmit: false
        },
        method: 'post',
        data: data
    })
}

export function thirdLogin(code,state, type) {
    return request({
        url: '/auth/thirdLogin',
        headers: {
            isToken: false,
            repeatSubmit: false
        },
        method: 'post',
        data: {
            code,
            state,
            type
        }
    })
}

export function getThirdLoginAuthUrl(type) {
    return request({
        url: '/auth/getThirdLoginAuthUrl/' + type,
        method: 'get'
    })
}

// 注册方法
export function register(data) {
    return request({
        url: '/auth/register',
        headers: {
            isToken: false
        },
        method: 'post',
        data: data
    })
}

// 获取用户详细信息
export function getInfo() {
    return request({
        url: '/auth/getInfo',
        method: 'get'
    })
}

// 退出方法
export function logout() {
    return request({
        url: '/auth/logout',
        method: 'post'
    })
}

// 获取验证码
export function getCodeImg() {
    return request({
        url: '/auth/captchaImage',
        headers: {
            isToken: false
        },
        method: 'get',
        timeout: 20000
    })
}

// 获取路由
export const getRouters = () => {
    return request({
        url: '/auth/getRouters',
        method: 'get'
    })
}

// 获取三方授权登录列表
export function getThirdAuthList() {
    return request({
        url: '/auth/getThirdAuths',
        method: 'get'
    })
}

export function bindThirdAuth(code, type, state) {
    return request({
        url: '/auth/bindThirdAuth',
        method: 'post',
        data: {
            code,
            type,
            state
        }
    })
}

export function unbindThirdAuth(type) {
    return request({
        url: '/auth/unbindThirdAuth',
        method: 'post',
        data: {
            type
        }
    })
}